package cn.emailChat.ai.domain;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Lob;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.UpdateTimestamp;

import java.time.LocalDateTime;

/**
 * @Description 联系人资料，用于存储“长期记忆”
 * @Author susu
 * @Date 2025/8/20
 */

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ContactProfile {
    /** 联系人邮箱作为主键（统一小写） */
    @Id
    private String contactEmail;

    /**
     * 长期摘要（100~300 中文字符）：该联系人的偏好、身份与关键承诺的浓缩描述。
     * - 示例：偏好中文称呼；上次确认单价100有效至8/31；公司 Acme Ltd.
     */
    @Lob
    @Column(columnDefinition = "LONGTEXT")
    private String longTermSummary;

    /** 最近一次更新（由 Hibernate 自动维护） */
    @UpdateTimestamp
    private LocalDateTime updatedAt;
}
